/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cr.ac.una.sive.managed;

import cr.ac.una.sive.entidad.Modelo;
import cr.ac.una.sive.entidad.Vehiculo;
import cr.ac.una.sive.entidadLocal.ModeloLocal;
import cr.ac.una.sive.sessionbean.ModeloFacadeLocal;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;

/**
 *
 * @author claribel
 */
@ManagedBean
@RequestScoped
public class ModeloFacadeManaged {
    @EJB(mappedName = "ejb/ModeloFacade")
    private cr.ac.una.sive.sessionbean.ModeloFacadeLocal modeloFacade;

    private Integer id_modelo;
    private String nombre;
    private Set<Vehiculo> vehiculos = new HashSet<Vehiculo>(0);
    private ArrayList listaModelos = new ArrayList();
    
    private ModeloLocal modeloLocal = new ModeloLocal();

    public ModeloFacadeManaged() {
       
    }

    
    public Integer getId_modelo() {
        return id_modelo;
    }

    public void setId_modelo(Integer id_modelo) {
        this.id_modelo = id_modelo;
    }

    public ModeloFacadeLocal getModeloFacade() {
        return modeloFacade;
    }

    public void setModeloFacade(ModeloFacadeLocal modeloFacade) {
        this.modeloFacade = modeloFacade;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public Set<Vehiculo> getVehiculos() {
        return vehiculos;
    }

    public void setVehiculos(Set<Vehiculo> vehiculos) {
        this.vehiculos = vehiculos;
    }

    
    public ModeloLocal getModeloLocal() {
        return modeloLocal;
    }

    public void setModeloLocal(ModeloLocal modeloLocal) {
        this.modeloLocal = modeloLocal;
    }

    public void setListaModelos(ArrayList listaModelos) {
        this.listaModelos = listaModelos;
    }
    
    
    
    
    /**
     * Creates a new instance of ModeloFacadeLocal
     */
    public ModeloFacadeManaged(String nombre, Integer id_modelo,Set <Vehiculo> vehiculos) {
        
        this.nombre = nombre;
        this.id_modelo = id_modelo;
        this.vehiculos = vehiculos;
    }
    
       public ArrayList getListaModelos() {        
       
        List<Modelo> modelos = modeloFacade.findAll();
        listaModelos.clear();

        for(int i=0; i<modelos.size(); i++)
        {
            Modelo mode = new Modelo();
            mode = (Modelo)modelos.get(i);
           
            listaModelos.add(new SelectItem(mode,mode.getNombre()));
        }      
       
        return listaModelos;
    }
}
